package com.cmc6.request.mapper;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cmc6.request.model.dto.RequestPageDTO;
import com.cmc6.request.model.entity.RequestDO;
import com.cmc6.request.model.vo.RequestAnalysisRequestNumberVO;
import com.cmc6.request.model.vo.RequestPageVO;
import com.cmc6.request.model.vo.RequestRankingVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RequestMapper extends BaseMapper<RequestDO> {

    // 统计请求数
    List<RequestAnalysisRequestNumberVO> analysisRequestNumber(@Param("timeList") List<DateTime> timeList,
        @Param("format") String format);

    // 请求总数排行
    List<RequestRankingVO> ranking();

    // 慢请求排行
    List<RequestRankingVO> slowRanking();

    // 分析所有请求
    RequestRankingVO analyzeAll(@Param("dto") RequestPageDTO dto);

    // 分页排序查询 接口请求记录
    Page<RequestPageVO> myPage(Page<RequestPageVO> page, @Param("dto") RequestPageDTO dto);
}




